package coder.user.service;

import coder.common.Result;
import coder.user.dto.UserDto;
import coder.user.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

public interface IUserService extends IService<User> {

    /**
     * 保存用户信息
     *
     * @param user 待保存的用户对象
     */
    void saveUser(User user);

    /**
     * 用户登录
     *
     * @param user 包含用户登录信息的对象
     * @return 用户登录成功后的信息对象
     */
    UserDto login(User user);

    /**
     * 更新用户信息
     *
     * @param user 待更新的用户对象
     */
    void updateUser(User user);

    /**
     * 修改用户密码
     *
     * @param id 用户ID
     * @param oldPwd 旧密码
     * @param newPwd 新密码
     */
    void changeUserPwd(String id, String oldPwd, String newPwd);

    User queryOne(String username);
}
